/*
 * StudentDescriptionDb.h
 *
 *  Created on: 24 Apr 2010
 *      Author: vastsor
 */

/**
 *  Table Students
 *  PK 	aem 			VARCHAR(255)
 *  	name			VARCHAR(45)
 * 		lastName		VARCHAR(255)
 * FK	StudentD_id		VARCHAR(255)
 * FK	StudentM_afm	VARCHAR(255)
 * FK 	StudentF_afm	VARCHAR(255)
 *
 */

#ifndef STUDENTDESCRIPTIONDB_H_
#define STUDENTDESCRIPTIONDB_H_


#include "IStudentDescriptionDb.h"
#include <string>

using namespace std;

class StudentDescriptionDb: public IStudentDescriptionDb {
public:
	StudentDescriptionDb();
	StudentDescriptionDb(const string *dbName, const string *user, const string *passwd);
	virtual ~StudentDescriptionDb();
	/**
	 * Set/updates the name of Student
	 * @param aem, Student's aem
	 * @param name, the value of name
	 * @return boolean
	 */
	virtual bool saveName(const string *aem,const string *name) const ;
	/**
	 * Set/updates the lastName of Student
	 * @param aem, Student's aem
	 * @param lastName, the value of lastName
	 * @return boolean
	 */
	virtual bool saveLastName(const string *aem,const string *lastName) const ;
	/**
		 * Get Student's name by aem
		 * @param aem, Student's aem
		 * @return string *
		 */
	string *getName(const string *aem) const;
	/**
	 * Get Student's lastName by aem
	 * @param aem, Student's aem
	 * @return string *
	 */
	string *getLastName(const string *aem) const;
	/**
	 * Get Student's aem by name,lastName and fatherName
	 * @param name, Student's name value
	 * @param lastName, Student's lastName value
	 * @param fatherName, Student's fatherName value
	 * @return
	 */
	string *getAemBy(const string *name, const string *lastName, const string *fatherName) const;
	/*virtual bool updateName(const string *aem,const string *newName)=0;
	virtual bool updateLastName(const string *aem, const string *newLastName)=0;
	virtual bool deleteAstudent(const string *aem)=0;
*/
};

#endif /* StudentDescriptionDb_H_ */
